package br.com.fiap.beans;

import java.io.Serializable;
import java.util.List;

import javax.enterprise.context.SessionScoped;
import javax.faces.bean.ManagedBean;
import javax.inject.Inject;
import javax.inject.Named;

import br.com.fiap.beans.filtro.FiltroVoo;
import br.com.fiap.dao.VooDAO;
import br.com.fiap.entity.Voo;

@Named
@ManagedBean
@SessionScoped
public class FiltroVooBean extends AbstractBeanAcessor implements Serializable {

	private static final long serialVersionUID = -5087912406336650662L;
	
	private FiltroVoo filtroVoo = new FiltroVoo();
	private List<Voo> voos;
	
	@Inject
	private VooDAO vooDAO;

	public FiltroVoo getFiltroVoo() {
		return filtroVoo;
	}

	public void setFiltroVoo(FiltroVoo filtroVoo) {
		this.filtroVoo = filtroVoo;
	}

	public List<Voo> getVoos() {
		return voos;
	}

	public void setVoos(List<Voo> voos) {
		this.voos = voos;
	}

	public VooDAO getVooDAO() {
		return vooDAO;
	}

	public void setVooDAO(VooDAO vooDAO) {
		this.vooDAO = vooDAO;
	}
	
	public String filtrarVoos() {
		
		if (filtroVoo.getNumero() == 0) {
			filtroVoo.setNumero(null);
		}
		
		List<Voo> voos = vooDAO.findByNumero(filtroVoo.getNumero());
		
		this.voos = voos;
		
		return "/voo/lista-voo";
	}
	
	public void excluirVoo(Integer numero) {
		vooDAO.delete(numero);
		this.filtrarVoos();
	}
	
}
